home *** CD-ROM | disk | FTP | other *** search
- *** 1.25 1992/03/08 17:23:52
- --- Changelog 1992/03/22 21:44:58
- ***************
- *** 259,261 ****
- --- 259,274 ----
- update C++ demangler for gcc 2.0
-
- ----------------------------- Patchlevel 25 ---------------------------------
- +
- + ldd.c, sym-ld.c:: ++jrb
- + hook in the demangler into write_map (-M) too. the output of
- + gcc-ld -M -t looks much nicer now when dealing with -lang-c++.
- +
- +
- + dont try to print set elements as local symbols (when -M). guess
- + who was seeing bombs!
- +
- + nm.c:: ++jrb
- + free demangled storage.
- +
- + ----------------------------- Patchlevel 26 ---------------------------------
- *** 1.23 1992/03/08 17:23:52
- --- PatchLev.h 1992/03/22 21:44:59
- ***************
- *** 1,4 ****
- ! #define PatchLevel "25"
-
- /*
- * the Patch Level above is to identify the version
- --- 1,4 ----
- ! #define PatchLevel "26"
-
- /*
- * the Patch Level above is to identify the version
- *** 1.30 1991/09/24 17:30:39
- --- ld.c 1992/03/22 21:45:03
- ***************
- *** 2860,2867 ****
-
- if (write_map)
- {
- print_file_name (entry, stdout);
- ! fprintf (stdout, " needed due to %s\n", sp->name);
- }
- #ifdef BYTE_SWAP /* finish converting n_list */
- for (p++;p < end; p++)
- --- 2860,2872 ----
-
- if (write_map)
- {
- + char *nm;
- + if (demangler == NULL || (nm = (*demangler)(sp->name)) == NULL)
- + nm = sp->name;
- print_file_name (entry, stdout);
- ! fprintf (stdout, " needed due to %s\n", nm);
- ! if(nm != sp->name)
- ! free(nm);
- }
- #ifdef BYTE_SWAP /* finish converting n_list */
- for (p++;p < end; p++)
- ***************
- *** 3020,3027 ****
- sp->defined = N_BSS | N_EXT;
- bss_size += com;
- if (write_map)
- printf ("Allocating common %s: %x at %x\n",
- ! sp->name, com, sp->value);
- }
- else
- {
- --- 3025,3039 ----
- sp->defined = N_BSS | N_EXT;
- bss_size += com;
- if (write_map)
- + {
- + char *nm;
- + if (demangler == NULL || (nm = (*demangler)(sp->name)) == NULL)
- + nm = sp->name;
- printf ("Allocating common %s: %x at %x\n",
- ! nm, com, sp->value);
- ! if(nm != sp->name)
- ! free(nm);
- ! }
- }
- else
- {
- ***************
- *** 3189,3200 ****
- register symbol *sp;
- for (sp = symtab[i]; sp; sp = sp->link)
- {
- if (sp->defined == 1)
- ! fprintf (outfile, " %s: common, length 0x%x\n", sp->name, sp->max_common_size);
- if (sp->defined)
- ! fprintf (outfile, " %s: 0x%x\n", sp->name, sp->value);
- else if (sp->referenced)
- ! fprintf (outfile, " %s: undefined\n", sp->name);
- }
- }
-
- --- 3201,3219 ----
- register symbol *sp;
- for (sp = symtab[i]; sp; sp = sp->link)
- {
- + char *nm = NULL;
- + if ((sp->defined || sp->referenced) && (demangler != NULL))
- + nm = (*demangler)(sp->name);
- + if(nm == NULL)
- + nm = sp->name;
- if (sp->defined == 1)
- ! fprintf (outfile, " %s: common, length 0x%x\n", nm, sp->max_common_size);
- if (sp->defined)
- ! fprintf (outfile, " %s: 0x%x\n", nm, sp->value);
- else if (sp->referenced)
- ! fprintf (outfile, " %s: undefined\n", nm);
- ! if(nm != sp->name)
- ! free(nm);
- }
- }
-
- ***************
- *** 3234,3242 ****
- for (p = entry->symbols; p < end; p++)
- /* If this is a definition,
- update it if necessary by this file's start address. */
- ! if (!(p->n_type & (N_STAB | N_EXT)))
- ! fprintf (outfile, " %s: 0x%x\n",
- ! entry->strings + p->n_un.n_strx, p->n_value);
- }
-
-
- --- 3253,3269 ----
- for (p = entry->symbols; p < end; p++)
- /* If this is a definition,
- update it if necessary by this file's start address. */
- ! if (!((p->n_type & (N_STAB | N_EXT)) || SET_ELEMENT_P(p->n_type)))
- ! {
- ! char *s = entry->strings + p->n_un.n_strx;
- ! char *nm;
- !
- ! if (demangler == NULL || (nm = (*demangler)(s)) == NULL)
- ! nm = s;
- ! fprintf (outfile, " %s: 0x%x\n", nm, p->n_value);
- ! if(nm != s)
- ! free(nm);
- ! }
- }
-
-
- *** 1.9 1991/07/23 22:43:21
- --- nm.c 1992/03/22 21:45:05
- ***************
- *** 806,812 ****
- --- 806,815 ----
- if ((nm = cplus_demangle(sym->n_un.n_name)) == NULL)
- printf (" %s\n", sym->n_un.n_name);
- else
- + {
- printf (" %s\n", nm);
- + free(nm);
- + }
- } else {
- printf (" %s\n", sym->n_un.n_name);
- }
- *** 1.16 1992/01/14 19:45:23
- --- sym-ld.c 1992/03/22 21:45:06
- ***************
- *** 2561,2568 ****
-
- if (write_map)
- {
- print_file_name (entry, stdout);
- ! fprintf (stdout, " needed due to %s\n", sp->name);
- }
- return 1;
- }
- --- 2561,2573 ----
-
- if (write_map)
- {
- + char *nm;
- + if (demangler == NULL || (nm = (*demangler)(sp->name)) == NULL)
- + nm = sp->name;
- print_file_name (entry, stdout);
- ! fprintf (stdout, " needed due to %s\n", nm);
- ! if(nm != sp->name)
- ! free(nm);
- }
- return 1;
- }
- ***************
- *** 2864,2875 ****
- register symbol *sp;
- for (sp = symtab[i]; sp; sp = sp->link)
- {
- if (sp->defined == 1)
- ! fprintf (outfile, " %s: common, length 0x%x\n", sp->name, sp->max_common_size);
- if (sp->defined)
- ! fprintf (outfile, " %s: 0x%x\n", sp->name, sp->value);
- else if (sp->referenced)
- ! fprintf (outfile, " %s: undefined\n", sp->name);
- }
- }
-
- --- 2869,2887 ----
- register symbol *sp;
- for (sp = symtab[i]; sp; sp = sp->link)
- {
- + char *nm = NULL;
- + if ((sp->defined || sp->referenced) && (demangler != NULL))
- + nm = (*demangler)(sp->name);
- + if(nm == NULL)
- + nm = sp->name;
- if (sp->defined == 1)
- ! fprintf (outfile, " %s: common, length 0x%x\n", nm, sp->max_common_size);
- if (sp->defined)
- ! fprintf (outfile, " %s: 0x%x\n", nm, sp->value);
- else if (sp->referenced)
- ! fprintf (outfile, " %s: undefined\n", nm);
- ! if(nm != sp->name)
- ! free(nm);
- }
- }
-
- ***************
- *** 2909,2917 ****
- for (p = entry->symbols; p < end; p++)
- /* If this is a definition,
- update it if necessary by this file's start address. */
- ! if (!(p->n_type & (N_STAB | N_EXT)))
- ! fprintf (outfile, " %s: 0x%x\n",
- ! entry->strings + p->n_un.n_strx, p->n_value);
- }
-
-
- --- 2921,2937 ----
- for (p = entry->symbols; p < end; p++)
- /* If this is a definition,
- update it if necessary by this file's start address. */
- ! if (!((p->n_type & (N_STAB | N_EXT)) || SET_ELEMENT_P(p->n_type)))
- ! {
- ! char *s = entry->strings + p->n_un.n_strx;
- ! char *nm;
- !
- ! if (demangler == NULL || (nm = (*demangler)(s)) == NULL)
- ! nm = s;
- ! fprintf (outfile, " %s: 0x%x\n", nm, p->n_value);
- ! if(nm != s)
- ! free(nm);
- ! }
- }
-
-
-